<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
   <title>Team/Resource Integration Details</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">Team/Resource 
      Integration Details</font></font></b></td>
  </tr>
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%">
      <p><b>Description</b></p>
      <p>Described in detail on the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/docs/online/team3.0/resources.html">Platform/Team 
        team web</a> site.</p>
      <p>See also bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37722">37722</a>.</p>
      <p>&nbsp;</p>
    </td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"> 
      <p><b>Questions and Issues</b></p>
      <ul>
        <li>How to manage the file system provider mapping to the resources? 
          <ul>
            <li>Needs to be performant.</li>
          </ul>
        </li>
        <li>How is this information persisted?</li>
        <li>Should this information be shared in the repository?</li>
        <li>How do we store folder-level metadata? (do we need to do this?) 
          <ul>
            <li>If so, then what differentiates a project from a folder?</li>
          </ul>
        </li>
        <li>How do we handle linked resources?</li>
        <li>How do we provide access to the Core library calls?</li>
        <li>Do we need startup/shutdown lifecycle events to allow for cleanup?</li>
        <li>How do we deal with missing providers?</li>
        <li>DefaultProvider could be an abstract class for others to inherit from.</li>
        <li>Register data providers via an extension point.</li>
        <li>The relationship between TeamProviders and DataProviders is yet to 
          be defined, but we would like to keep knowledge team out of Core as 
          much as we can. It is thought that perhaps TeamProviders should be able 
          to answer their &quot;preferred data provider&quot;.</li>
        <li>Take a look at the current Move/Delete hook implementation. With this, 
          there are basically 2 ways of doing things. You can either do some pre-processing 
          and then defer the actual operation to the default (by calling IResourceTree.standardFileDelete, 
          etc) or the operation is broken into 2 separate pieces. The implementor 
          of the Move/Delete hook performs the file-system based part of the function 
          and then makes the appropriate calls back into the resource tree in 
          order to update the workspace.</li>
      </ul>
      <p>&nbsp;</p>
    </td>
  </tr>
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"> 
      <p><b>Sample Data Providers and their requirements</b></p>
      <p><i>CVS</i> </p>
      <ul>
        <li>ignore files in all CVS folder subtrees</li>
      </ul>
      <p><i>ClearCase</i></p>
      <ul>
        <li>pre-notification of all resource operations</li>
        <li>opportunity to override any/all resource operations (create, delete, move, copy)</li>
      </ul>
      <p><i>Zip File</i></p>
      <ul>
        <li>part of logical to physical problem?</li>
        <li>#members looks inside a zip file, #create adds to the zip file, etc</li>
        <li>how do you handle resource types? the zip file is a FILE but has members</li>
      </ul>
      <p><i>PDE Binary</i> </p>
      <ul>
        <li>don't allow modifications to project contents (treat projects as read-only)</li>
      </ul>
      <p><i>Misc</i></p>
      <ul>
        <li>ignore files based on type/extension</li>
      </ul>
    </td>
  </tr>
</table>

</body>
</html>
